import React, { Component } from "react"; //引入路由内置组件
import { Switch, Route, Redirect } from "react-router-dom";
export default class Index extends Component {
  render() {
    const { routers } = this.props; //得路由落配置表
    const routerList = routers.filter((item) => !item.to); //筛选出不是重定向的路由数据 //筛选是重定向数据并生成
    const MyRedirect = routers
      .filter((item) => item.from)
      .map((item, key) => (
        <Redirect
          key={JSON.stringify(key)}
          from={item.from}
          to={item.to}
        ></Redirect>
      ));
    return (
      <Switch>
        　
        {
          //生成路由对象   路由组件等
          routerList &&
            routerList
              .map((item, key) => (
                <Route
                  path={item.path}
                  key={JSON.stringify(key)} //路由嵌套，二级路由 ， ...props 二级路由可以获取到props
                  render={(props) => (
                    <item.component
                      {...props}
                      routers={item.children}
                    ></item.component>
                  )}
                ></Route>
              ))
              .concat(MyRedirect) //添加重定向
        }
        　　
      </Switch>
    );
  }
}
